// pages/personal_center/personal_center.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        doctorInfo: {
            avatar: "/images/doctor/index/avatar.jpg",
            name: "张医生",
            title: "主任医师",
            hospital: "北京协和医院",
            department: "心内科",
            specialties: ["冠心病", "高血压", "心力衰竭", "心律失常"],
            introduction: "张医生毕业于北京医科大学，从事心血管内科临床工作20年，擅长冠心病、高血压等疾病的诊断与治疗，发表学术论文30余篇。",
            qualifications: ["医学博士", "主任医师", "博士生导师"] // 新增资质标签数据
        },
        todayConsult: 12,
        weekConsult: 45,
        monthConsult: 156,
        isNotificationOn: true,
        showLogoutModal: false,
        version: "v1.0.0",
        // 关键：添加展开/收起状态（默认 false = 收起）
        isIntroExpand: false,
        // 新增：数据概览缺失的变量（确保页面渲染正常）
        followPatient: 18,  // 随访中患者数
        revisitPatient: 5,  // 待复诊患者数
        praiseRate: 98,     // 好评率
        praiseCount: 236,   // 好评数
        unreadNotice: true  // 未读消息标记
    },

    // 关键：实现展开/收起切换函数
    toggleIntroExpand() {
        this.setData({
            // 反转 isIntroExpand 的布尔值（true ↔ false）
            isIntroExpand: !this.data.isIntroExpand
        });
    },

    goToInfoEdit(){
        wx.navigateTo({
          url: '/pages/doctor/infoEdit/infoEdit',
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        // 可以从缓存或API获取医生信息
        this.loadDoctorInfo();
    },

    /**
     * 加载医生信息
     */
    loadDoctorInfo() {
        // 模拟从本地缓存获取数据
        const cachedInfo = wx.getStorageSync('doctorInfo');
        if (cachedInfo) {
            this.setData({
                doctorInfo: cachedInfo
            });
        }

        // 模拟从API获取统计数据
        this.fetchStatisticsData();
    },

    /**
     * 获取接诊统计数据
     */
    fetchStatisticsData() {
        // 模拟API请求
        setTimeout(() => {
            this.setData({
                todayConsult: Math.floor(Math.random() * 20 + 5),
                weekConsult: Math.floor(Math.random() * 50 + 30),
                monthConsult: Math.floor(Math.random() * 180 + 100)
            });
        }, 500);
    },

    /**
     * 前往编辑个人资料页面
     */
    gotoEditProfile() {
        wx.navigateTo({
            url: '/pages/edit_profile/edit_profile?doctorInfo=' + JSON.stringify(this.data.doctorInfo),
        });
    },

    /**
     * 前往接诊统计详情页
     */
    gotoStatistics() {
        wx.navigateTo({
            url: '/pages/statistics/statistics',
        });
    },

    /**
     * 前往个人设置页面
     */
    gotoSettings() {
        wx.navigateTo({
            url: '/pages/settings/settings',
        });
    },

    /**
     * 前往帮助中心
     */
    gotoHelpCenter() {
        wx.navigateTo({
            url: '/pages/help_center/help_center',
        });
    },

    /**
     * 前往隐私政策页面
     */
    gotoPrivacyPolicy() {
        wx.navigateTo({
            url: '/pages/privacy_policy/privacy_policy',
        });
    },

    /**
     * 前往用户协议页面
     */
    gotoUserAgreement() {
        wx.navigateTo({
            url: '/pages/user_agreement/user_agreement',
        });
    },

    /**
     * 切换消息通知状态
     */
    toggleNotification(e) {
        const isChecked = e.detail.value;
        this.setData({
            isNotificationOn: isChecked
        });

        // 保存到本地缓存
        wx.setStorageSync('notificationStatus', isChecked);

        // 可以在这里调用API更新服务器上的通知设置
        wx.showToast({
            title: isChecked ? '消息通知已开启' : '消息通知已关闭',
            icon: 'none'
        });
    },

    /**
     * 显示退出登录确认弹窗
     */
    showLogoutConfirm() {
        this.setData({
            showLogoutModal: true
        });
    },

    /**
     * 隐藏退出登录确认弹窗
     */
    hideLogoutModal() {
        this.setData({
            showLogoutModal: false
        });
    },

    /**
     * 退出登录
     */
    logout() {
        // 清除本地缓存
        wx.removeStorageSync('token');
        wx.removeStorageSync('doctorInfo');

        // 跳转登录页面
        wx.redirectTo({
            url: '/pages/login/login',
        });

        // 隐藏弹窗
        this.hideLogoutModal();
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        // 检查是否有缓存的通知状态
        const notificationStatus = wx.getStorageSync('notificationStatus');
        if (notificationStatus !== '') {
            this.setData({
                isNotificationOn: notificationStatus
            });
        }
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        this.loadDoctorInfo();
        wx.stopPullDownRefresh();
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {
        return {
            title: '我的医生工作室',
            path: '/pages/personal_center/personal_center'
        }
    }
})